import socket

def send_file_to_client(new_client_socket,client_addr):
    # 5、接受从客户端发来的要下载的文件名
    file_name = new_client_socket.recv(1024).decode('utf-8')
    print(f'客户端{client_addr}要下载的文件名是：{file_name}')
    file_content = None
    # 6、根据文件名，打开文件，读取数据
    try:
        with open(file_name, 'rb') as file:
            file_content = file.read()
    except Exception as e:
        print(f'没有要下载的文件')
    if file_content:
        # 7、发送文件中的数据给客户端
        new_client_socket.send(file_content)
    else:
        print('无法下载')

# 1、创建套接字
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2、绑定本地信息
tcp_server_socket.bind(('',8888))
# 3、监听（把套接字从主动变成变动）
tcp_server_socket.listen(128)
# 4、等待其他客户端的连接
new_client_socket,client_addr = tcp_server_socket.accept()

# 发送数据
send_file_to_client(new_client_socket,client_addr)

# 8、关闭套接字
tcp_server_socket.close()